package com.som.beanconvert.data1.input;

import java.util.HashMap;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.ss.usermodel.Row;

import com.som.bean.data1.input.DeviceCollectInfo;
import com.som.beanconvert.ExcelDataParseInputInf;
import com.som.beanconvert.ExcelRowDataParseProcessInf;
import com.som.util.ExcelCellStrGet;

/**
 * 输入数据三：设备采集的数据(输入的文件名为input3.xls),输入列为三列，IP地址 路由(network) LOOPBACK地址
 * 
 * 进行数据的从excel转换到java对象
 * 
 * @author liujun
 * @date 2016年4月8日
 * @verion 0.0.1
 */
public class DeviceCollectExcelInput extends DeviceCollectInfo
        implements ExcelDataParseInputInf<DeviceCollectInfo>, ExcelRowDataParseProcessInf<String, DeviceCollectInfo> {

    public DeviceCollectInfo parseBean(Row excelRow) {
        HSSFRow row = (HSSFRow) excelRow;

        DeviceCollectInfo devColl = new DeviceCollectInfo();

        // 提取ip
        devColl.setIpaddress(ExcelCellStrGet.getCellValue(row.getCell(0)));

        // 提取路由(network)
        devColl.setNetwork(ExcelCellStrGet.getCellValue(row.getCell(1)));

        // LOOPBACK地址
        devColl.setLoopbackAddress(ExcelCellStrGet.getCellValue(row.getCell(2)));

        return devColl;
    }

    public Map<String, DeviceCollectInfo> parseRowDataProcess(DeviceCollectInfo t) {
        if (null != t) {
            Map<String, DeviceCollectInfo> map = new HashMap<String, DeviceCollectInfo>();

            // 以loopback为键，其他信息为值，进行数据的合并
            map.put(t.getLoopbackAddress(), t);

            return map;
        }

        return null;
    }

}
